Streaming 3D video over a wireless network is a very challenging task due to the highly variable nature of wireless networks. Packets may be dropped during transmission or may only reach the destination after a significant delay. One of the crucial limitations of wireless networks is related to the high Bit Error Rate (BER) on the radio link. In order to counteract high BERs, most of the wireless network technologies employ Automatic Repeat reQuest (ARQ).
ARQ (Automatic Repeat reQuest), also known as Automatic Repeat Query, is an error-control method for data transmission. In conventional ARQ schemes, packet errors are examined at the receiver by an error detection code, usually cyclic redundancy checks (CRC). If the packet is received successfully, the receiver sends an acknowledgement (ACK) of the successful transmission to the receiver. If the receiver detects an error in the packet, it sends a negative acknowledgement (NACK) request for re-transmission of that packet.
If the sender does not receive an ACK before a timeout, which is a period of allowed lapse time before an acknowledgement is to be received, or if it receives a NACK, it usually re-transmits the packet until an ACK is received or a predefined number of re-transmissions are reached.
The basic ARQ schemes include stop-and-wait ARQ, Go-Back-N ARQ, and selective repeat ARQ.
Stop-and-wait ARQ is inefficient compared with other ARQs, because the sender does not send any further packets until it receives an ACK signal. To solve this problem, one can pick a window, and send the set of packets falling inside the window one by one before an earlier packet is acknowledged and use one ACK signal for each packet. This is the basic idea of go-back-N ARQ and the selective repeat ARQ.
Go-back-N ARQ uses a window mechanism where the sender can send packets that fall within a window. The window advances as acknowledgements for earlier packets are received. The receiver receives packets in order and cannot accept packets out of sequence. Go-back-N ARQ uses network connection more efficiently than stop-and-wait ARQ. Instead of waiting for an acknowledgement for every packet, the connection is utilized as the set of packets within the window are sent. However, this method also results in sending packets multiple times—if any packet is lost or damaged, or the ACK signal acknowledging them is lost or damaged, that packet and all following packets falling in the window will be re-sent, even if they were received without error. To avoid this, selective repeat ARQ can be used.
Unlike go-back-N ARQ, the receiving process of selective repeat ARQ will continue to accept and acknowledge packets sent after an initial error. The receiver acknowledges each successfully received packet by transmitting an ACK bearing the sequence number of the packet being acknowledged. If an ACK is not received for a packet before the expiration of the timeout, the packet is retransmitted. Once a packet has been retransmitted the transmitter resumes transmission of packets from where it left off.
Various schemes exist that mitigate the effects of errors during transmission of 2D video data. However, the transmission of 3D video data has not been investigated in the art with consideration of 3D video characteristics.